home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group94a.txt
/
000128_icon-group-sender _Thu May 12 18:29:48 1994.msg
< prev
next >
Wrap
Internet Message Format
|
1994-08-19
|
2KB
Received: by cheltenham.cs.arizona.edu; Fri, 13 May 1994 07:27:47 MST
Subject: Re: Incrementally loading implementations?
To: icon-group@cs.arizona.edu
Date: Thu, 12 May 1994 18:29:48 -0600 (CDT)
In-Reply-To: <9405110833.AA18491@ringer.cs.utsa.edu.sunset> from "Clinton L. Jeffery" at May 11, 94 03:33:55 am
X-Mailer: ELM [version 2.4 PL21]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 1342
Message-Id: <9405122329.AA10047@rcmcon.com>
From: whm@rcmcon.com (William Mitchell)
Status: R
Errors-To: icon-group-errors@cs.arizona.edu
>
> I would like to know how hard it would be to incrementally load
> ICON binary files (esp. the .u[12] type files for the interpreter).
> Has anyone done this? Has anyone tried and found it too hard?
As a grad school project (c. 1984) I took a version of Unipress Emacs and
embedded Icon in it alongside MLisp. One could write Icon programs that used
MLisp primitives or vice-versa. It had the ability to load Icon binary files
and merge globals into the existing namespace. That portion of it was really
no big deal to do. I think I used a new type of heap object and had the list
of globals in it. When a file was loaded, I'd allocate a new whatever it was
and put the new list of globals in it. I took the major shortcut of keeping
translation and linking external to "ice", as I called it.
There was a U of A CS department TR on it, but I've forgotten the number
(unless it's 84-8) and it's probably out of print anyway.
/------------------------------\ /----------------\
/ William H. Mitchell \ / 7120 E. Kiva Way \
/ Mitchell Software Engineering \o----/ Tucson, AZ, 85715 \
\ Consulting/Development/Training / \ 602-577-6431 /
\ OO Methods/C++/Icon/UNIX / \ whm@mse.com /
\------------------------------/ \----------------/